package com.bfly.mall.system.entity;

import com.baomidou.mybatisplus.annotation.IdType;
import com.baomidou.mybatisplus.annotation.TableField;
import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.TableName;

import java.io.Serializable;
import java.util.List;

/**
 * 城市
 *
 * @author 长沙商脉科技有限公司
 * @date 2020/8/26 11:11
 */
@TableName(value = "d_city",resultMap = "CityResultMap")
public class City implements Serializable {
    private static final long serialVersionUID = -5593353921647264095L;

    // 省
    public static final int PROVINCE=1;
    // 市
    public static final int CITY=2;
    // 区县
    public static final int DISTRICT=3;

    @TableId(value = "id", type = IdType.AUTO)
    private int id;

    /**
     * 省市区名称
     *
     * @author 长沙商脉科技有限公司
     * @date 2020/8/26 11:11
     */
    @TableField("name")
    private String name;

    @TableField("parent_id")
    private int parentId;

    /**
     * 简称
     *
     * @author 长沙商脉科技有限公司
     * @date 2020/8/26 11:12
     */
    @TableField("short_name")
    private String shortName;

    /**
     * 级别:0,中国；1，省份；2，市；3，区、县
     *
     * @author 长沙商脉科技有限公司
     * @date 2020/8/26 11:12
     */
    @TableField("level")
    private int level;

    /**
     * 城市代码
     *
     * @author 长沙商脉科技有限公司
     * @date 2020/8/26 11:13
     */
    @TableField("city_code")
    private String cityCode;

    /**
     * 邮编
     *
     * @author 长沙商脉科技有限公司
     * @date 2020/8/26 11:13
     */
    @TableField("zip_code")
    private String zipCode;

    /**
     * 经度
     *
     * @author 长沙商脉科技有限公司
     * @date 2020/8/26 11:14
     */
    @TableField("lng")
    private String lng;

    /**
     * 维度
     *
     * @author 长沙商脉科技有限公司
     * @date 2020/8/26 11:14
     */
    @TableField("lat")
    private String lat;

    /**
     * 拼音
     *
     * @author 长沙商脉科技有限公司
     * @date 2020/8/26 11:14
     */
    @TableField("pinyin")
    private String pinyin;

    /**
     * 状态
     *
     * @author 长沙商脉科技有限公司
     * @date 2020/8/26 11:15
     */
    @TableField("is_enabled")
    private boolean enabled;

    @TableField(exist = false)
    private List<City> children;

    public List<City> getChildren() {
        return children;
    }

    public void setChildren(List<City> children) {
        this.children = children;
    }

    public int getId() {
        return id;
    }

    public void setId(int id) {
        this.id = id;
    }

    public String getName() {
        return name;
    }

    public void setName(String name) {
        this.name = name;
    }

    public int getParentId() {
        return parentId;
    }

    public void setParentId(int parentId) {
        this.parentId = parentId;
    }

    public String getShortName() {
        return shortName;
    }

    public void setShortName(String shortName) {
        this.shortName = shortName;
    }

    public int getLevel() {
        return level;
    }

    public void setLevel(int level) {
        this.level = level;
    }

    public String getCityCode() {
        return cityCode;
    }

    public void setCityCode(String cityCode) {
        this.cityCode = cityCode;
    }

    public String getZipCode() {
        return zipCode;
    }

    public void setZipCode(String zipCode) {
        this.zipCode = zipCode;
    }

    public String getLng() {
        return lng;
    }

    public void setLng(String lng) {
        this.lng = lng;
    }

    public String getLat() {
        return lat;
    }

    public void setLat(String lat) {
        this.lat = lat;
    }

    public String getPinyin() {
        return pinyin;
    }

    public void setPinyin(String pinyin) {
        this.pinyin = pinyin;
    }

    public boolean getEnabled() {
        return enabled;
    }

    public void setEnabled(boolean enabled) {
        this.enabled = enabled;
    }
}
